Since the introduction of client-side web technologies such as JavaScript, electronic documents (e.g., a webpage) accessed on the Internet have become increasingly dynamic. Accessing a data table in a document to sort columns or filter data, changing a Document Object Model (DOM) element opacity/location/dimensions/content, and asynchronously fetching and displaying data are just some examples of how web documents have become progressively richer with dynamic content and interactions.
An application on a client may allow users to view and interact directly with an electronic document in various ways including, without limitation, clicking on interactive elements to interact with or reload a document, navigating between documents, and requesting content to be displayed in a document. An interaction with a document may result in processing delays to present the document and/or load content based on the interaction. For example, interaction with a document may result in a time-consuming request to a server for a content change. A delay in processing the request may limit a user's ability to view and/or interact with the document. In another example, an interaction with a document results in delays or an error in execution of program code configured to execute for a document.
Because electronic documents are dynamic within an application on a client, operators that provide the documents do not have a clear insight into how their audience encounters and reacts to problems in accessing electronic documents. Despite having created the content for a document, but because of the large amount of permutations of how users can interact with an individual document or groups of documents, users (e.g., providers, designers, operators, and document creators) may seek to determine the problems that users have in interacting with electronic documents. Traditionally, network to desktop browsers was viewed as reliable and adhering to fairly consistent and predictable performance patterns. In the new environment where users increasingly access data from any device, and over widely varying network conditions, the proposition that performance is consistent is no longer valid. Users may see only partial content before getting frustrated and leaving a page or website. They may get frustrated due to content that does not even come from the primary website, but instead is sourced from Content Distribution Networks or external advertising or social media sites. Users may get frustrated over delays in loading and/or accessing content for a document. An administrator of a website may be unable to identify a source of issues with accessing web documents.
Products can also capture user interaction events on a remote web document. Specifically with respect to capturing mouse clicks and mouse movement, systems have approached tracking of these types of events by capturing the Cartesian coordinates where a mouse moves, and the Cartesian coordinates of where a user performs mouse clicks. This has been moderately effective in the past. However, as the number of devices used to access web documents increase and the number of varying screen displays increases, web designers have transitioned to a more dynamic, or responsive, document design and operation, where the content layout changes dynamically based on the client's screen size. As such, simply capturing Cartesian coordinates is ineffective and inaccurate at helping web operators and designers analyze how users interact with their document, as the results are not clear with respect to what the user clicked or what content a mouse went over, in, or out of Documents of a website may change dynamically with regard to a DOM defining a structure of content on the website. Documents may be related to one another such that interaction with one document affects presentation of a different document. Even more difficult is determining how unrelated events affecting interaction with or operation of a website may be correlated to a single issue with operation of the website. Such events may cause frustration with use of the website, without a host system hosting the website being fully aware of the significance of such events. Detecting related events may be difficult as websites shift towards dynamic implementations.
As a result of these challenges, computer systems that host a website are challenged with ways to detect issues in operation of a website, some issues of which lead to frustration by users of the website. These issues may affect the performance of the computers that host a website. A tremendous amount of financial and computing resources are expended to detect, if at all possible, and correct these issues to limit their exposure to the user's experience of the website.